home *** CD-ROM | disk | FTP | other *** search
/ Freelog 125 / Freelog_MarsAvril2015_No125.iso / Securite / Password Safe / pwsafe-3.35.exe / pwsafe_filter.xsd < prev    next >
Extensible Markup Language  |  2013-09-17  |  21KB  |  534 lines

  1. <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
  2. <xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1" >
  3.  
  4. <xs:annotation>
  5.   <xs:documentation xml:lang="en">
  6.     NOTE: The version on the 'xs:schema' statement above must be greater or equal to that
  7.     specified on the XML 'filters' element and both must be greater of equal to the version
  8.     supported by PasswordSafe.  If either of these are not true, the filters cannot be
  9.     loaded into PasswordSafe.
  10.  
  11.     This XML Schema corresponds to V3.28 of Password Safe for filters.
  12.     Rules:
  13.       EQ - equals
  14.       NE - not equals
  15.       AC - active
  16.       IA - inactive
  17.       PR - present
  18.       NP - not preset
  19.       SE - set
  20.       NS - not set
  21.       IS - is
  22.       NI - is not
  23.       BE - begins with
  24.       NB - does not begin with
  25.       EN - ends with
  26.       ND - does not end with
  27.       CO - contains
  28.       NC - does not contain
  29.       CY - contains any of
  30.       NY - does not contain any of
  31.       CA - contains all of
  32.       NA - does not contain all of
  33.       BT - between
  34.       LT - less than
  35.       LE - less than or equal
  36.       GT - greater than
  37.       GE - greater than or equal
  38.       BF - before
  39.       AF - after
  40.       EX - expired
  41.       WX - will expire
  42.   </xs:documentation>
  43. </xs:annotation>
  44.  
  45. <xs:simpleType name="stringType">
  46.   <xs:restriction base="xs:string">
  47.     <xs:whiteSpace value="preserve" />
  48.   </xs:restriction>
  49. </xs:simpleType>
  50.  
  51. <xs:simpleType name="nonblankstringType">
  52.   <xs:restriction base="xs:string">
  53.     <xs:minLength value="1" />
  54.   </xs:restriction>
  55. </xs:simpleType>
  56.  
  57. <xs:simpleType name="yesnostringType">
  58.   <xs:restriction base="xs:string">
  59.     <xs:enumeration value="yes" />
  60.     <xs:enumeration value="no" />
  61.   </xs:restriction>
  62. </xs:simpleType>
  63.  
  64. <xs:simpleType name="boolType">
  65.   <xs:restriction base="xs:int">
  66.     <xs:minInclusive value="0" />
  67.     <xs:maxInclusive value="1" />
  68.   </xs:restriction>
  69. </xs:simpleType>
  70.  
  71. <xs:simpleType name="fileuuidType">
  72.   <xs:restriction base="xs:string">
  73.     <xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA¡F]{12}" />
  74.   </xs:restriction>
  75. </xs:simpleType>
  76.  
  77. <xs:simpleType name="password_ruleType">
  78.   <xs:restriction base="xs:string">
  79.     <xs:enumeration value="EQ" />
  80.     <xs:enumeration value="NE" />
  81.     <xs:enumeration value="BE" />
  82.     <xs:enumeration value="NB" />
  83.     <xs:enumeration value="EN" />
  84.     <xs:enumeration value="ND" />
  85.     <xs:enumeration value="CO" />
  86.     <xs:enumeration value="NC" />
  87.     <xs:enumeration value="EX" />
  88.     <xs:enumeration value="WX" />
  89.   </xs:restriction>
  90. </xs:simpleType>
  91.  
  92. <xs:simpleType name="string_ruleType">
  93.   <xs:restriction base="xs:string">
  94.     <xs:enumeration value="EQ" />
  95.     <xs:enumeration value="NE" />
  96.     <xs:enumeration value="BE" />
  97.     <xs:enumeration value="NB" />
  98.     <xs:enumeration value="EN" />
  99.     <xs:enumeration value="ND" />
  100.     <xs:enumeration value="CO" />
  101.     <xs:enumeration value="NC" />
  102.     <xs:enumeration value="CY" />
  103.     <xs:enumeration value="NY" />
  104.     <xs:enumeration value="CA" />
  105.     <xs:enumeration value="NA" />
  106.   </xs:restriction>
  107. </xs:simpleType>
  108.  
  109. <xs:simpleType name="stringpresent_ruleType">
  110.   <xs:restriction base="xs:string">
  111.     <xs:enumeration value="EQ" />
  112.     <xs:enumeration value="NE" />
  113.     <xs:enumeration value="PR" />
  114.     <xs:enumeration value="NP" />
  115.     <xs:enumeration value="BE" />
  116.     <xs:enumeration value="NB" />
  117.     <xs:enumeration value="EN" />
  118.     <xs:enumeration value="ND" />
  119.     <xs:enumeration value="CO" />
  120.     <xs:enumeration value="NC" />
  121.     <xs:enumeration value="CY" />
  122.     <xs:enumeration value="NY" />
  123.     <xs:enumeration value="CA" />
  124.     <xs:enumeration value="NA" />
  125.   </xs:restriction>
  126. </xs:simpleType>
  127.  
  128. <xs:simpleType name="integer_ruleType">
  129.   <xs:restriction base="xs:string">
  130.     <xs:enumeration value="EQ" />
  131.     <xs:enumeration value="NE" />
  132.     <xs:enumeration value="PR" />
  133.     <xs:enumeration value="NP" />
  134.     <xs:enumeration value="BT" />
  135.     <xs:enumeration value="LT" />
  136.     <xs:enumeration value="LE" />
  137.     <xs:enumeration value="GT" />
  138.     <xs:enumeration value="GE" />
  139.   </xs:restriction>
  140. </xs:simpleType>
  141.  
  142. <xs:simpleType name="date_ruleType">
  143.   <xs:restriction base="xs:string">
  144.     <xs:enumeration value="EQ" />
  145.     <xs:enumeration value="NE" />
  146.     <xs:enumeration value="PR" />
  147.     <xs:enumeration value="NP" />
  148.     <xs:enumeration value="BT" />
  149.     <xs:enumeration value="BF" />
  150.     <xs:enumeration value="AF" />
  151.   </xs:restriction>
  152. </xs:simpleType>
  153.  
  154. <xs:simpleType name="booleanset_ruleType">
  155.   <xs:restriction base="xs:string">
  156.     <xs:enumeration value="SE" />
  157.     <xs:enumeration value="NS" />
  158.   </xs:restriction>
  159. </xs:simpleType>
  160.  
  161. <xs:simpleType name="booleanpresent_ruleType">
  162.   <xs:restriction base="xs:string">
  163.     <xs:enumeration value="PR" />
  164.     <xs:enumeration value="NP" />
  165.   </xs:restriction>
  166. </xs:simpleType>
  167.  
  168. <xs:simpleType name="booleanactive_ruleType">
  169.   <xs:restriction base="xs:string">
  170.     <xs:enumeration value="AC" />
  171.     <xs:enumeration value="IA" />
  172.     </xs:restriction>
  173. </xs:simpleType>
  174.  
  175. <xs:simpleType name="booleanis_ruleType">
  176.   <xs:restriction base="xs:string">
  177.     <xs:enumeration value="IS" />
  178.     <xs:enumeration value="NI" />
  179.     </xs:restriction>
  180. </xs:simpleType>
  181.  
  182. <xs:simpleType name="entrytype_ruleType">
  183.   <xs:restriction base="xs:string">
  184.     <xs:enumeration value="IS" />
  185.     <xs:enumeration value="NI" />
  186.     </xs:restriction>
  187. </xs:simpleType>
  188.  
  189. <xs:simpleType name="entrystatus_ruleType">
  190.   <xs:restriction base="xs:string">
  191.     <xs:enumeration value="IS" />
  192.     <xs:enumeration value="NI" />
  193.     </xs:restriction>
  194. </xs:simpleType>
  195.  
  196. <xs:simpleType name="dca_ruleType">
  197.   <xs:restriction base="xs:string">
  198.     <xs:enumeration value="IS" />
  199.     <xs:enumeration value="NI" />
  200.     </xs:restriction>
  201. </xs:simpleType>
  202.  
  203. <xs:simpleType name="logicType">
  204.   <xs:restriction base="xs:string">
  205.     <xs:enumeration value="and" />
  206.     <xs:enumeration value="or" />
  207.   </xs:restriction>
  208. </xs:simpleType>
  209.  
  210. <xs:simpleType name="entrytypeType">
  211.   <xs:restriction base="xs:string">
  212.     <xs:enumeration value="normal" />
  213.     <xs:enumeration value="alias" />
  214.     <xs:enumeration value="shortcut" />
  215.     <xs:enumeration value="aliasbase" />
  216.     <xs:enumeration value="shortcutbase" />
  217.   </xs:restriction>
  218. </xs:simpleType>
  219.  
  220. <xs:simpleType name="entrystatusType">
  221.   <xs:restriction base="xs:string">
  222.     <xs:enumeration value="clean" />
  223.     <xs:enumeration value="added" />
  224.     <xs:enumeration value="modified" />
  225.   </xs:restriction>
  226. </xs:simpleType>
  227.  
  228. <xs:simpleType name="sizeType">
  229.   <!-- 0 = Bytes, 1 = KBytes, 2 = MBytes -->
  230.   <xs:restriction base="xs:int">
  231.     <xs:minInclusive value="0" />
  232.     <xs:maxInclusive value="2" />
  233.   </xs:restriction>
  234. </xs:simpleType>
  235.  
  236. <xs:simpleType name="dcaType">
  237.   <xs:restriction base="xs:int">
  238.     <xs:minInclusive value="0" />
  239.     <xs:maxInclusive value="9" />
  240.   </xs:restriction>
  241. </xs:simpleType>
  242.  
  243. <xs:simpleType name="dateType">
  244.   <xs:restriction base="xs:int">
  245.     <xs:minInclusive value="0" />
  246.     <xs:maxInclusive value="1" />
  247.   </xs:restriction>
  248. </xs:simpleType>
  249.  
  250. <xs:simpleType name="dateintType">
  251.   <xs:restriction base="xs:int">
  252.     <xs:minInclusive value="-3650" />
  253.     <xs:maxInclusive value="3650" />
  254.   </xs:restriction>
  255. </xs:simpleType>
  256.  
  257. <xs:complexType name="matchPassword">
  258.   <xs:sequence>
  259.     <xs:element name="string" type="stringType" minOccurs="1" maxOccurs="1" />
  260.     <xs:element name="case" type="boolType" minOccurs="1" maxOccurs="1" />
  261.     <xs:element name="warn" type="xs:int" minOccurs="1" maxOccurs="1" />
  262.   </xs:sequence>
  263. </xs:complexType>
  264.  
  265. <xs:complexType name="matchString">
  266.   <xs:sequence>
  267.     <xs:element name="string" type="stringType" minOccurs="1" maxOccurs="1" />
  268.     <xs:element name="case" type="boolType" minOccurs="1" maxOccurs="1" />
  269.   </xs:sequence>
  270. </xs:complexType>
  271.  
  272. <xs:complexType name="matchSize">
  273.   <xs:sequence>
  274.     <xs:element name="num1" type="xs:int" minOccurs="1" maxOccurs="1" />
  275.     <xs:element name="num2" type="xs:int" minOccurs="1" maxOccurs="1" />
  276.     <xs:element name="unit" type="sizeType" minOccurs="1" maxOccurs="1" />
  277.   </xs:sequence>
  278. </xs:complexType>
  279.  
  280. <xs:complexType name="matchInteger">
  281.   <xs:sequence>
  282.     <xs:element name="num1" type="xs:int" minOccurs="1" maxOccurs="1" />
  283.     <xs:element name="num2" type="xs:int" minOccurs="1" maxOccurs="1" />
  284.   </xs:sequence>
  285. </xs:complexType>
  286.  
  287. <xs:group name="date_group">
  288.   <xs:sequence>
  289.     <xs:element name="date1" type="xs:date" minOccurs="1" maxOccurs="1"/>
  290.     <xs:element name="date2" type="xs:date" minOccurs="1" maxOccurs="1"/>
  291.   </xs:sequence>
  292. </xs:group>
  293.  
  294. <xs:group name="dateint_group">
  295.   <xs:sequence>
  296.     <xs:element name="num1" type="dateintType" minOccurs="1" maxOccurs="1"/>
  297.     <xs:element name="num2" type="dateintType" minOccurs="1" maxOccurs="1"/>
  298.   </xs:sequence>
  299. </xs:group>
  300.  
  301. <xs:complexType name="matchDate">
  302.   <xs:sequence>
  303.     <xs:choice>
  304.       <xs:group ref="date_group" minOccurs="1" maxOccurs="1" />
  305.       <xs:group ref="dateint_group" minOccurs="1" maxOccurs="1" />
  306.     </xs:choice>
  307.   </xs:sequence>
  308. </xs:complexType>
  309.  
  310. <xs:complexType name="matchEntrytype">
  311.   <xs:sequence>
  312.     <xs:element name="type" type="entrytypeType" minOccurs="1" maxOccurs="1" />
  313.   </xs:sequence>
  314. </xs:complexType>
  315.  
  316. <xs:complexType name="matchEntrystatus">
  317.   <xs:sequence>
  318.     <xs:element name="status" type="entrystatusType" minOccurs="1" maxOccurs="1" />
  319.   </xs:sequence>
  320. </xs:complexType>
  321.  
  322. <xs:complexType name="matchDCA">
  323.   <xs:sequence>
  324.     <xs:element name="dca" type="dcaType" minOccurs="1" maxOccurs="1" />
  325.   </xs:sequence>
  326. </xs:complexType>
  327.  
  328. <xs:complexType name="passwordfilterentry" >
  329.   <xs:sequence>
  330.     <xs:element name="rule" type="password_ruleType" minOccurs="1" maxOccurs="1" />
  331.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  332.     <xs:element name="test" type="matchPassword" minOccurs="1" maxOccurs="1" />
  333.   </xs:sequence>
  334. </xs:complexType>
  335.  
  336. <xs:complexType name="stringfilterentry" >
  337.   <xs:sequence>
  338.     <xs:element name="rule" type="string_ruleType" minOccurs="1" maxOccurs="1" />
  339.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  340.     <xs:element name="test" type="matchString" minOccurs="1" maxOccurs="1" />
  341.   </xs:sequence>
  342. </xs:complexType>
  343.  
  344. <xs:complexType name="stringpresentfilterentry" >
  345.   <xs:sequence>
  346.     <xs:element name="rule" type="stringpresent_ruleType" minOccurs="1" maxOccurs="1" />
  347.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  348.     <xs:element name="test" type="matchString" minOccurs="1" maxOccurs="1" />
  349.   </xs:sequence>
  350. </xs:complexType>
  351.  
  352. <xs:complexType name="integerfilterentry" >
  353.   <xs:sequence>
  354.     <xs:element name="rule" type="integer_ruleType" minOccurs="1" maxOccurs="1" />
  355.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  356.     <xs:element name="test" type="matchInteger" minOccurs="1" maxOccurs="1" />
  357.   </xs:sequence>
  358. </xs:complexType>
  359.  
  360. <xs:complexType name="sizefilterentry" >
  361.   <xs:sequence>
  362.     <xs:element name="rule" type="integer_ruleType" minOccurs="1" maxOccurs="1" />
  363.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  364.     <xs:element name="test" type="matchSize" minOccurs="1" maxOccurs="1" />
  365.   </xs:sequence>
  366. </xs:complexType>
  367.  
  368. <xs:complexType name="datefilterentry" >
  369.   <xs:sequence>
  370.     <xs:element name="rule" type="date_ruleType" minOccurs="1" maxOccurs="1" />
  371.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  372.     <xs:element name="test" type="matchDate" minOccurs="1" maxOccurs="1" />
  373.   </xs:sequence>
  374. </xs:complexType>
  375.  
  376. <xs:complexType name="entrytypefilterentry" >
  377.   <xs:sequence>
  378.     <xs:element name="rule" type="entrytype_ruleType" minOccurs="1" maxOccurs="1" />
  379.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  380.     <xs:element name="test" type="matchEntrytype" minOccurs="1" maxOccurs="1" />
  381.   </xs:sequence>
  382. </xs:complexType>
  383.  
  384. <xs:complexType name="entrystatusfilterentry" >
  385.   <xs:sequence>
  386.     <xs:element name="rule" type="entrystatus_ruleType" minOccurs="1" maxOccurs="1" />
  387.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  388.     <xs:element name="test" type="matchEntrystatus" minOccurs="1" maxOccurs="1" />
  389.   </xs:sequence>
  390. </xs:complexType>
  391.  
  392. <xs:complexType name="dcafilterentry" >
  393.   <xs:sequence>
  394.     <xs:element name="rule" type="dca_ruleType" minOccurs="1" maxOccurs="1" />
  395.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  396.     <xs:element name="test" type="matchDCA" minOccurs="1" maxOccurs="1" />
  397.   </xs:sequence>
  398. </xs:complexType>
  399.  
  400. <xs:complexType name="passwordhistoryentry" >
  401.   <xs:sequence>
  402.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  403.   </xs:sequence>
  404. </xs:complexType>
  405.  
  406. <xs:complexType name="passwordpolicyentry" >
  407.   <xs:sequence>
  408.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  409.   </xs:sequence>
  410. </xs:complexType>
  411.  
  412. <xs:complexType name="booleansetfilterentry" >
  413.   <xs:sequence>
  414.     <xs:element name="rule" type="booleanset_ruleType" minOccurs="1" maxOccurs="1" />
  415.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  416.   </xs:sequence>
  417. </xs:complexType>
  418.  
  419. <xs:complexType name="booleanpresentfilterentry" >
  420.   <xs:sequence>
  421.     <xs:element name="rule" type="booleanpresent_ruleType" minOccurs="1" maxOccurs="1" />
  422.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  423.   </xs:sequence>
  424. </xs:complexType>
  425.  
  426. <xs:complexType name="booleanactivefilterentry" >
  427.   <xs:sequence>
  428.     <xs:element name="rule" type="booleanactive_ruleType" minOccurs="1" maxOccurs="1" />
  429.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  430.   </xs:sequence>
  431. </xs:complexType>
  432.  
  433. <xs:complexType name="booleanisfilterentry" >
  434.   <xs:sequence>
  435.     <xs:element name="rule" type="booleanis_ruleType" minOccurs="1" maxOccurs="1" />
  436.     <xs:element name="logic" type="logicType" minOccurs="1" maxOccurs="1" />
  437.   </xs:sequence>
  438. </xs:complexType>
  439.  
  440. <xs:group name="filter_group" >
  441.   <xs:choice>
  442.     <xs:element name="group" type="stringpresentfilterentry" minOccurs="1" maxOccurs="1" />
  443.     <xs:element name="grouptitle" type="stringfilterentry" minOccurs="1" maxOccurs="1" />
  444.     <xs:element name="title" type="stringfilterentry" minOccurs="1" maxOccurs="1" />
  445.     <xs:element name="user" type="stringpresentfilterentry" minOccurs="1" maxOccurs="1" />
  446.     <xs:element name="notes" type="stringpresentfilterentry" minOccurs="1" maxOccurs="1" />
  447.     <xs:element name="password" type="passwordfilterentry" minOccurs="1" maxOccurs="1" />
  448.  
  449.     <xs:element name="create_time" type="datefilterentry" minOccurs="1" maxOccurs="1" />
  450.     <xs:element name="password_modified_time" type="datefilterentry" minOccurs="1" maxOccurs="1" />
  451.     <xs:element name="last_access_time" type="datefilterentry" minOccurs="1" maxOccurs="1" />
  452.     <xs:element name="expiry_time" type="datefilterentry" minOccurs="1" maxOccurs="1" />
  453.     <xs:element name="record_modified_time" type="datefilterentry" minOccurs="1" maxOccurs="1" />
  454.  
  455.     <xs:element name="url" type="stringpresentfilterentry" minOccurs="1" maxOccurs="1" />
  456.     <xs:element name="runcommand" type="stringpresentfilterentry" minOccurs="1" maxOccurs="1" />
  457.     <xs:element name="email" type="stringpresentfilterentry" minOccurs="1" maxOccurs="1" />
  458.     <xs:element name="DCA" type="dcafilterentry" minOccurs="1" maxOccurs="1" />
  459.     <xs:element name="ShiftDCA" type="dcafilterentry" minOccurs="1" maxOccurs="1" />
  460.     <xs:element name="autotype" type="stringpresentfilterentry" minOccurs="1" maxOccurs="1" />
  461.     <xs:element name="password_expiry_interval" type="integerfilterentry" minOccurs="1" maxOccurs="1" />
  462.     <xs:element name="protected" type="booleanisfilterentry" minOccurs="1" maxOccurs="1" />
  463.     <xs:element name="symbols" type="stringpresentfilterentry" minOccurs="1" maxOccurs="1" />
  464.     <xs:element name="kbshortcut" type="booleanpresentfilterentry" minOccurs="1" maxOccurs="1" />
  465.  
  466.     <xs:element name="password_history" type="passwordhistoryentry" minOccurs="1" maxOccurs="1" />
  467.     <xs:element name="history_present" type="booleanpresentfilterentry" minOccurs="1" maxOccurs="1" />
  468.     <xs:element name="history_active" type="booleanactivefilterentry" minOccurs="1" maxOccurs="1" />
  469.     <xs:element name="history_number" type="integerfilterentry" minOccurs="1" maxOccurs="1" />
  470.     <xs:element name="history_maximum" type="integerfilterentry" minOccurs="1" maxOccurs="1" />
  471.     <xs:element name="history_changedate" type="datefilterentry" minOccurs="1" maxOccurs="1" />
  472.     <xs:element name="history_passwords" type="passwordfilterentry" minOccurs="1" maxOccurs="1" />
  473.  
  474.     <xs:element name="password_policy" type="passwordpolicyentry" minOccurs="1" maxOccurs="1" />
  475.     <xs:element name="policy_present" type="booleanpresentfilterentry" minOccurs="1" maxOccurs="1" />
  476.     <xs:element name="policy_length" type="integerfilterentry" minOccurs="1" maxOccurs="1" />
  477.     <xs:element name="policy_number_lowercase" type="integerfilterentry" minOccurs="1" maxOccurs="1" />
  478.     <xs:element name="policy_number_uppercase" type="integerfilterentry" minOccurs="1" maxOccurs="1" />
  479.     <xs:element name="policy_number_digits" type="integerfilterentry" minOccurs="1" maxOccurs="1" />
  480.     <xs:element name="policy_number_symbols" type="integerfilterentry" minOccurs="1" maxOccurs="1" />
  481.     <xs:element name="policy_easyvision" type="booleansetfilterentry" minOccurs="1" maxOccurs="1" />
  482.     <xs:element name="policy_pronounceable" type="booleansetfilterentry" minOccurs="1" maxOccurs="1" />
  483.     <xs:element name="policy_hexadecimal" type="booleansetfilterentry" minOccurs="1" maxOccurs="1" />
  484.  
  485.     <xs:element name="password_length" type="integerfilterentry" minOccurs="1" maxOccurs="1" />
  486.     <xs:element name="policy_name" type="stringfilterentry" minOccurs="1" maxOccurs="1" />
  487.     <xs:element name="entrysize" type="sizefilterentry" minOccurs="1" maxOccurs="1" />
  488.     <xs:element name="entrytype" type="entrytypefilterentry" minOccurs="1" maxOccurs="1" />
  489.     <xs:element name="entrystatus" type="entrystatusfilterentry" minOccurs="1" maxOccurs="1" />
  490.     <xs:element name="unknownfields" type="booleanpresentfilterentry" minOccurs="1" maxOccurs="1" />
  491.   </xs:choice>
  492. </xs:group>
  493.  
  494. <!-- Start of proper Password Safe Filter validation XSD -->
  495. <xs:element name="filters">
  496.   <xs:complexType>
  497.     <xs:sequence>
  498.       <!-- Start Filters Fields -->
  499.       <xs:element name="filter" minOccurs="1" maxOccurs="unbounded">
  500.         <xs:complexType>
  501.           <xs:sequence>
  502.             <xs:element name="filter_entry" minOccurs="1" maxOccurs="unbounded">
  503.               <xs:complexType>
  504.                 <xs:group ref="filter_group" minOccurs="1" maxOccurs="unbounded" />
  505.                 <xs:attribute name="active" type="yesnostringType" use="optional" />
  506.               </xs:complexType>
  507.             </xs:element>
  508.           </xs:sequence>
  509.           <xs:attribute name="filtername" type="nonblankstringType" use="required" />
  510.         </xs:complexType>
  511.         <!-- End Filters Fields -->
  512.       </xs:element>
  513.     </xs:sequence>
  514.     <!-- Start Filters XSD Attributes -->
  515.     <xs:attribute name="version" type="xs:positiveInteger" use="required" />
  516.     <!-- End Filters XSD Attributes -->
  517.     <!-- Start Database Optional Attributes -->
  518.     <xs:attribute name="Database" type="stringType" use="optional" />
  519.     <xs:attribute name="ExportTimeStamp" type="xs:dateTime" use="optional" />
  520.     <xs:attribute name="FromDatabaseFormat" type="stringType" use="optional" />
  521.     <xs:attribute name="WhatSaved" type="stringType" use="optional" />
  522.     <xs:attribute name="WhoSaved" type="stringType" use="optional" />
  523.     <xs:attribute name="WhenLastSaved" type="xs:dateTime" use="optional" />
  524.     <xs:attribute name="Database_uuid" type="fileuuidType" use="optional" />
  525.     <!-- End Database Optional Attributes -->
  526.   </xs:complexType>
  527.   <xs:unique name="UniqueFilterName">
  528.     <xs:selector xpath="filter" />
  529.     <xs:field xpath="@filtername" />
  530.   </xs:unique>
  531. </xs:element>
  532. </xs:schema>
  533. <!-- End of proper Password Safe filter validation XSD -->
  534.